home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / gcc / geninline_920614.lha / inline-2.0 / dos.h < prev    next >
C/C++ Source or Header  |  1992-06-14  |  62KB  |  2,115 lines

  1. #ifndef _INLINE_DOS_H
  2. #define _INLINE_DOS_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct DosLibrary * DOSBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME DOSBase
  18. #endif
  19.  
  20. static __inline void 
  21. AbortPkt (BASE_PAR_DECL struct MsgPort *port,struct DosPacket *pkt)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  25.   register struct MsgPort *d1 __asm("d1") = port;
  26.   register struct DosPacket *d2 __asm("d2") = pkt;
  27.   __asm __volatile ("jsr a6@(-0x108)"
  28.   : /* no output */
  29.   : "r" (a6), "r" (d1), "r" (d2)
  30.   : "a0","a1","d0","d1","d2");
  31. }
  32. static __inline LONG 
  33. AddBuffers (BASE_PAR_DECL STRPTR name,long number)
  34. {
  35.   BASE_EXT_DECL
  36.   register LONG  _res  __asm("d0");
  37.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  38.   register STRPTR d1 __asm("d1") = name;
  39.   register long d2 __asm("d2") = number;
  40.   __asm __volatile ("jsr a6@(-0x2dc)"
  41.   : "=r" (_res)
  42.   : "r" (a6), "r" (d1), "r" (d2)
  43.   : "a0","a1","d0","d1","d2");
  44.   return _res;
  45. }
  46. static __inline LONG 
  47. AddDosEntry (BASE_PAR_DECL struct DosList *dlist)
  48. {
  49.   BASE_EXT_DECL
  50.   register LONG  _res  __asm("d0");
  51.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  52.   register struct DosList *d1 __asm("d1") = dlist;
  53.   __asm __volatile ("jsr a6@(-0x2a6)"
  54.   : "=r" (_res)
  55.   : "r" (a6), "r" (d1)
  56.   : "a0","a1","d0","d1");
  57.   return _res;
  58. }
  59. static __inline BOOL 
  60. AddPart (BASE_PAR_DECL STRPTR dirname,STRPTR filename,unsigned long size)
  61. {
  62.   BASE_EXT_DECL
  63.   register BOOL  _res  __asm("d0");
  64.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  65.   register STRPTR d1 __asm("d1") = dirname;
  66.   register STRPTR d2 __asm("d2") = filename;
  67.   register unsigned long d3 __asm("d3") = size;
  68.   __asm __volatile ("jsr a6@(-0x372)"
  69.   : "=r" (_res)
  70.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  71.   : "a0","a1","d0","d1","d2","d3");
  72.   return _res;
  73. }
  74. static __inline LONG 
  75. AddSegment (BASE_PAR_DECL STRPTR name,BPTR seg,long system)
  76. {
  77.   BASE_EXT_DECL
  78.   register LONG  _res  __asm("d0");
  79.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  80.   register STRPTR d1 __asm("d1") = name;
  81.   register BPTR d2 __asm("d2") = seg;
  82.   register long d3 __asm("d3") = system;
  83.   __asm __volatile ("jsr a6@(-0x306)"
  84.   : "=r" (_res)
  85.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  86.   : "a0","a1","d0","d1","d2","d3");
  87.   return _res;
  88. }
  89. static __inline APTR 
  90. AllocDosObject (BASE_PAR_DECL unsigned long type,struct TagItem *tags)
  91. {
  92.   BASE_EXT_DECL
  93.   register APTR  _res  __asm("d0");
  94.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  95.   register unsigned long d1 __asm("d1") = type;
  96.   register struct TagItem *d2 __asm("d2") = tags;
  97.   __asm __volatile ("jsr a6@(-0xe4)"
  98.   : "=r" (_res)
  99.   : "r" (a6), "r" (d1), "r" (d2)
  100.   : "a0","a1","d0","d1","d2");
  101.   return _res;
  102. }
  103. static __inline BOOL 
  104. AssignAdd (BASE_PAR_DECL STRPTR name,BPTR lock)
  105. {
  106.   BASE_EXT_DECL
  107.   register BOOL  _res  __asm("d0");
  108.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  109.   register STRPTR d1 __asm("d1") = name;
  110.   register BPTR d2 __asm("d2") = lock;
  111.   __asm __volatile ("jsr a6@(-0x276)"
  112.   : "=r" (_res)
  113.   : "r" (a6), "r" (d1), "r" (d2)
  114.   : "a0","a1","d0","d1","d2");
  115.   return _res;
  116. }
  117. static __inline BOOL 
  118. AssignLate (BASE_PAR_DECL STRPTR name,STRPTR path)
  119. {
  120.   BASE_EXT_DECL
  121.   register BOOL  _res  __asm("d0");
  122.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  123.   register STRPTR d1 __asm("d1") = name;
  124.   register STRPTR d2 __asm("d2") = path;
  125.   __asm __volatile ("jsr a6@(-0x26a)"
  126.   : "=r" (_res)
  127.   : "r" (a6), "r" (d1), "r" (d2)
  128.   : "a0","a1","d0","d1","d2");
  129.   return _res;
  130. }
  131. static __inline LONG 
  132. AssignLock (BASE_PAR_DECL STRPTR name,BPTR lock)
  133. {
  134.   BASE_EXT_DECL
  135.   register LONG  _res  __asm("d0");
  136.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  137.   register STRPTR d1 __asm("d1") = name;
  138.   register BPTR d2 __asm("d2") = lock;
  139.   __asm __volatile ("jsr a6@(-0x264)"
  140.   : "=r" (_res)
  141.   : "r" (a6), "r" (d1), "r" (d2)
  142.   : "a0","a1","d0","d1","d2");
  143.   return _res;
  144. }
  145. static __inline BOOL 
  146. AssignPath (BASE_PAR_DECL STRPTR name,STRPTR path)
  147. {
  148.   BASE_EXT_DECL
  149.   register BOOL  _res  __asm("d0");
  150.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  151.   register STRPTR d1 __asm("d1") = name;
  152.   register STRPTR d2 __asm("d2") = path;
  153.   __asm __volatile ("jsr a6@(-0x270)"
  154.   : "=r" (_res)
  155.   : "r" (a6), "r" (d1), "r" (d2)
  156.   : "a0","a1","d0","d1","d2");
  157.   return _res;
  158. }
  159. static __inline struct DosList *
  160. AttemptLockDosList (BASE_PAR_DECL unsigned long flags)
  161. {
  162.   BASE_EXT_DECL
  163.   register struct DosList * _res  __asm("d0");
  164.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  165.   register unsigned long d1 __asm("d1") = flags;
  166.   __asm __volatile ("jsr a6@(-0x29a)"
  167.   : "=r" (_res)
  168.   : "r" (a6), "r" (d1)
  169.   : "a0","a1","d0","d1");
  170.   return _res;
  171. }
  172. static __inline LONG 
  173. ChangeMode (BASE_PAR_DECL long type,BPTR fh,long newmode)
  174. {
  175.   BASE_EXT_DECL
  176.   register LONG  _res  __asm("d0");
  177.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  178.   register long d1 __asm("d1") = type;
  179.   register BPTR d2 __asm("d2") = fh;
  180.   register long d3 __asm("d3") = newmode;
  181.   __asm __volatile ("jsr a6@(-0x1c2)"
  182.   : "=r" (_res)
  183.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  184.   : "a0","a1","d0","d1","d2","d3");
  185.   return _res;
  186. }
  187. static __inline LONG 
  188. CheckSignal (BASE_PAR_DECL long mask)
  189. {
  190.   BASE_EXT_DECL
  191.   register LONG  _res  __asm("d0");
  192.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  193.   register long d1 __asm("d1") = mask;
  194.   __asm __volatile ("jsr a6@(-0x318)"
  195.   : "=r" (_res)
  196.   : "r" (a6), "r" (d1)
  197.   : "a0","a1","d0","d1");
  198.   return _res;
  199. }
  200. static __inline struct CommandLineInterface *
  201. Cli (BASE_PAR_DECL0)
  202. {
  203.   BASE_EXT_DECL
  204.   register struct CommandLineInterface * _res  __asm("d0");
  205.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  206.   __asm __volatile ("jsr a6@(-0x1ec)"
  207.   : "=r" (_res)
  208.   : "r" (a6)
  209.   : "a0","a1","d0","d1");
  210.   return _res;
  211. }
  212. static __inline LONG 
  213. CliInitNewcli (BASE_PAR_DECL struct DosPacket *dp)
  214. {
  215.   BASE_EXT_DECL
  216.   register LONG  _res  __asm("d0");
  217.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  218.   register struct DosPacket *a0 __asm("a0") = dp;
  219.   __asm __volatile ("jsr a6@(-0x3a2)"
  220.   : "=r" (_res)
  221.   : "r" (a6), "r" (a0)
  222.   : "a0","a1","d0","d1");
  223.   *(char *)a0 = *(char *)a0;
  224.   return _res;
  225. }
  226. static __inline LONG 
  227. CliInitRun (BASE_PAR_DECL struct DosPacket *dp)
  228. {
  229.   BASE_EXT_DECL
  230.   register LONG  _res  __asm("d0");
  231.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  232.   register struct DosPacket *a0 __asm("a0") = dp;
  233.   __asm __volatile ("jsr a6@(-0x3a8)"
  234.   : "=r" (_res)
  235.   : "r" (a6), "r" (a0)
  236.   : "a0","a1","d0","d1");
  237.   *(char *)a0 = *(char *)a0;
  238.   return _res;
  239. }
  240. static __inline LONG 
  241. Close (BASE_PAR_DECL BPTR file)
  242. {
  243.   BASE_EXT_DECL
  244.   register LONG  _res  __asm("d0");
  245.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  246.   register BPTR d1 __asm("d1") = file;
  247.   __asm __volatile ("jsr a6@(-0x24)"
  248.   : "=r" (_res)
  249.   : "r" (a6), "r" (d1)
  250.   : "a0","a1","d0","d1");
  251.   return _res;
  252. }
  253. static __inline LONG 
  254. CompareDates (BASE_PAR_DECL struct DateStamp *date1,struct DateStamp *date2)
  255. {
  256.   BASE_EXT_DECL
  257.   register LONG  _res  __asm("d0");
  258.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  259.   register struct DateStamp *d1 __asm("d1") = date1;
  260.   register struct DateStamp *d2 __asm("d2") = date2;
  261.   __asm __volatile ("jsr a6@(-0x2e2)"
  262.   : "=r" (_res)
  263.   : "r" (a6), "r" (d1), "r" (d2)
  264.   : "a0","a1","d0","d1","d2");
  265.   return _res;
  266. }
  267. static __inline BPTR 
  268. CreateDir (BASE_PAR_DECL STRPTR name)
  269. {
  270.   BASE_EXT_DECL
  271.   register BPTR  _res  __asm("d0");
  272.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  273.   register STRPTR d1 __asm("d1") = name;
  274.   __asm __volatile ("jsr a6@(-0x78)"
  275.   : "=r" (_res)
  276.   : "r" (a6), "r" (d1)
  277.   : "a0","a1","d0","d1");
  278.   return _res;
  279. }
  280. static __inline struct Process *
  281. CreateNewProc (BASE_PAR_DECL struct TagItem *tags)
  282. {
  283.   BASE_EXT_DECL
  284.   register struct Process * _res  __asm("d0");
  285.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  286.   register struct TagItem *d1 __asm("d1") = tags;
  287.   __asm __volatile ("jsr a6@(-0x1f2)"
  288.   : "=r" (_res)
  289.   : "r" (a6), "r" (d1)
  290.   : "a0","a1","d0","d1");
  291.   return _res;
  292. }
  293. static __inline struct MsgPort *
  294. CreateProc (BASE_PAR_DECL STRPTR name,long pri,BPTR segList,long stackSize)
  295. {
  296.   BASE_EXT_DECL
  297.   register struct MsgPort * _res  __asm("d0");
  298.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  299.   register STRPTR d1 __asm("d1") = name;
  300.   register long d2 __asm("d2") = pri;
  301.   register BPTR d3 __asm("d3") = segList;
  302.   register long d4 __asm("d4") = stackSize;
  303.   __asm __volatile ("jsr a6@(-0x8a)"
  304.   : "=r" (_res)
  305.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  306.   : "a0","a1","d0","d1","d2","d3","d4");
  307.   return _res;
  308. }
  309. static __inline BPTR 
  310. CurrentDir (BASE_PAR_DECL BPTR lock)
  311. {
  312.   BASE_EXT_DECL
  313.   register BPTR  _res  __asm("d0");
  314.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  315.   register BPTR d1 __asm("d1") = lock;
  316.   __asm __volatile ("jsr a6@(-0x7e)"
  317.   : "=r" (_res)
  318.   : "r" (a6), "r" (d1)
  319.   : "a0","a1","d0","d1");
  320.   return _res;
  321. }
  322. static __inline struct DateStamp *
  323. DateStamp (BASE_PAR_DECL struct DateStamp *date)
  324. {
  325.   BASE_EXT_DECL
  326.   register struct DateStamp * _res  __asm("d0");
  327.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  328.   register struct DateStamp *d1 __asm("d1") = date;
  329.   __asm __volatile ("jsr a6@(-0xc0)"
  330.   : "=r" (_res)
  331.   : "r" (a6), "r" (d1)
  332.   : "a0","a1","d0","d1");
  333.   return _res;
  334. }
  335. static __inline LONG 
  336. DateToStr (BASE_PAR_DECL struct DateTime *datetime)
  337. {
  338.   BASE_EXT_DECL
  339.   register LONG  _res  __asm("d0");
  340.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  341.   register struct DateTime *d1 __asm("d1") = datetime;
  342.   __asm __volatile ("jsr a6@(-0x2e8)"
  343.   : "=r" (_res)
  344.   : "r" (a6), "r" (d1)
  345.   : "a0","a1","d0","d1");
  346.   return _res;
  347. }
  348. static __inline void 
  349. Delay (BASE_PAR_DECL long timeout)
  350. {
  351.   BASE_EXT_DECL
  352.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  353.   register long d1 __asm("d1") = timeout;
  354.   __asm __volatile ("jsr a6@(-0xc6)"
  355.   : /* no output */
  356.   : "r" (a6), "r" (d1)
  357.   : "a0","a1","d0","d1");
  358. }
  359. static __inline LONG 
  360. DeleteFile (BASE_PAR_DECL STRPTR name)
  361. {
  362.   BASE_EXT_DECL
  363.   register LONG  _res  __asm("d0");
  364.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  365.   register STRPTR d1 __asm("d1") = name;
  366.   __asm __volatile ("jsr a6@(-0x48)"
  367.   : "=r" (_res)
  368.   : "r" (a6), "r" (d1)
  369.   : "a0","a1","d0","d1");
  370.   return _res;
  371. }
  372. static __inline LONG 
  373. DeleteVar (BASE_PAR_DECL STRPTR name,unsigned long flags)
  374. {
  375.   BASE_EXT_DECL
  376.   register LONG  _res  __asm("d0");
  377.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  378.   register STRPTR d1 __asm("d1") = name;
  379.   register unsigned long d2 __asm("d2") = flags;
  380.   __asm __volatile ("jsr a6@(-0x390)"
  381.   : "=r" (_res)
  382.   : "r" (a6), "r" (d1), "r" (d2)
  383.   : "a0","a1","d0","d1","d2");
  384.   return _res;
  385. }
  386. static __inline struct MsgPort *
  387. DeviceProc (BASE_PAR_DECL STRPTR name)
  388. {
  389.   BASE_EXT_DECL
  390.   register struct MsgPort * _res  __asm("d0");
  391.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  392.   register STRPTR d1 __asm("d1") = name;
  393.   __asm __volatile ("jsr a6@(-0xae)"
  394.   : "=r" (_res)
  395.   : "r" (a6), "r" (d1)
  396.   : "a0","a1","d0","d1");
  397.   return _res;
  398. }
  399. static __inline LONG 
  400. DoPkt (BASE_PAR_DECL struct MsgPort *port,long action,long arg1,long arg2,long arg3,long arg4,long arg5)
  401. {
  402.   BASE_EXT_DECL
  403.   register LONG  _res  __asm("d0");
  404.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  405.   register struct MsgPort *d1 __asm("d1") = port;
  406.   register long d2 __asm("d2") = action;
  407.   register long d3 __asm("d3") = arg1;
  408.   register long d4 __asm("d4") = arg2;
  409.   register long d5 __asm("d5") = arg3;
  410.   register long d6 __asm("d6") = arg4;
  411.   register long d7 __asm("d7") = arg5;
  412.   __asm __volatile ("jsr a6@(-0xf0)"
  413.   : "=r" (_res)
  414.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5), "r" (d6), "r" (d7)
  415.   : "a0","a1","d0","d1","d2","d3","d4","d5","d6","d7");
  416.   return _res;
  417. }
  418. static __inline BPTR 
  419. DupLock (BASE_PAR_DECL BPTR lock)
  420. {
  421.   BASE_EXT_DECL
  422.   register BPTR  _res  __asm("d0");
  423.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  424.   register BPTR d1 __asm("d1") = lock;
  425.   __asm __volatile ("jsr a6@(-0x60)"
  426.   : "=r" (_res)
  427.   : "r" (a6), "r" (d1)
  428.   : "a0","a1","d0","d1");
  429.   return _res;
  430. }
  431. static __inline BPTR 
  432. DupLockFromFH (BASE_PAR_DECL BPTR fh)
  433. {
  434.   BASE_EXT_DECL
  435.   register BPTR  _res  __asm("d0");
  436.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  437.   register BPTR d1 __asm("d1") = fh;
  438.   __asm __volatile ("jsr a6@(-0x174)"
  439.   : "=r" (_res)
  440.   : "r" (a6), "r" (d1)
  441.   : "a0","a1","d0","d1");
  442.   return _res;
  443. }
  444. static __inline void 
  445. EndNotify (BASE_PAR_DECL struct NotifyRequest *notify)
  446. {
  447.   BASE_EXT_DECL
  448.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  449.   register struct NotifyRequest *d1 __asm("d1") = notify;
  450.   __asm __volatile ("jsr a6@(-0x37e)"
  451.   : /* no output */
  452.   : "r" (a6), "r" (d1)
  453.   : "a0","a1","d0","d1");
  454. }
  455. static __inline LONG 
  456. ErrorReport (BASE_PAR_DECL long code,long type,unsigned long arg1,struct MsgPort *device)
  457. {
  458.   BASE_EXT_DECL
  459.   register LONG  _res  __asm("d0");
  460.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  461.   register long d1 __asm("d1") = code;
  462.   register long d2 __asm("d2") = type;
  463.   register unsigned long d3 __asm("d3") = arg1;
  464.   register struct MsgPort *d4 __asm("d4") = device;
  465.   __asm __volatile ("jsr a6@(-0x1e0)"
  466.   : "=r" (_res)
  467.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  468.   : "a0","a1","d0","d1","d2","d3","d4");
  469.   return _res;
  470. }
  471. static __inline LONG 
  472. ExAll (BASE_PAR_DECL BPTR lock,struct ExAllData *buffer,long size,long data,struct ExAllControl *control)
  473. {
  474.   BASE_EXT_DECL
  475.   register LONG  _res  __asm("d0");
  476.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  477.   register BPTR d1 __asm("d1") = lock;
  478.   register struct ExAllData *d2 __asm("d2") = buffer;
  479.   register long d3 __asm("d3") = size;
  480.   register long d4 __asm("d4") = data;
  481.   register struct ExAllControl *d5 __asm("d5") = control;
  482.   __asm __volatile ("jsr a6@(-0x1b0)"
  483.   : "=r" (_res)
  484.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  485.   : "a0","a1","d0","d1","d2","d3","d4","d5");
  486.   return _res;
  487. }
  488. static __inline LONG 
  489. ExNext (BASE_PAR_DECL BPTR lock,struct FileInfoBlock *fileInfoBlock)
  490. {
  491.   BASE_EXT_DECL
  492.   register LONG  _res  __asm("d0");
  493.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  494.   register BPTR d1 __asm("d1") = lock;
  495.   register struct FileInfoBlock *d2 __asm("d2") = fileInfoBlock;
  496.   __asm __volatile ("jsr a6@(-0x6c)"
  497.   : "=r" (_res)
  498.   : "r" (a6), "r" (d1), "r" (d2)
  499.   : "a0","a1","d0","d1","d2");
  500.   return _res;
  501. }
  502. static __inline LONG 
  503. Examine (BASE_PAR_DECL BPTR lock,struct FileInfoBlock *fileInfoBlock)
  504. {
  505.   BASE_EXT_DECL
  506.   register LONG  _res  __asm("d0");
  507.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  508.   register BPTR d1 __asm("d1") = lock;
  509.   register struct FileInfoBlock *d2 __asm("d2") = fileInfoBlock;
  510.   __asm __volatile ("jsr a6@(-0x66)"
  511.   : "=r" (_res)
  512.   : "r" (a6), "r" (d1), "r" (d2)
  513.   : "a0","a1","d0","d1","d2");
  514.   return _res;
  515. }
  516. static __inline BOOL 
  517. ExamineFH (BASE_PAR_DECL BPTR fh,struct FileInfoBlock *fib)
  518. {
  519.   BASE_EXT_DECL
  520.   register BOOL  _res  __asm("d0");
  521.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  522.   register BPTR d1 __asm("d1") = fh;
  523.   register struct FileInfoBlock *d2 __asm("d2") = fib;
  524.   __asm __volatile ("jsr a6@(-0x186)"
  525.   : "=r" (_res)
  526.   : "r" (a6), "r" (d1), "r" (d2)
  527.   : "a0","a1","d0","d1","d2");
  528.   return _res;
  529. }
  530. static __inline LONG 
  531. Execute (BASE_PAR_DECL STRPTR string,BPTR file,BPTR file2)
  532. {
  533.   BASE_EXT_DECL
  534.   register LONG  _res  __asm("d0");
  535.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  536.   register STRPTR d1 __asm("d1") = string;
  537.   register BPTR d2 __asm("d2") = file;
  538.   register BPTR d3 __asm("d3") = file2;
  539.   __asm __volatile ("jsr a6@(-0xde)"
  540.   : "=r" (_res)
  541.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  542.   : "a0","a1","d0","d1","d2","d3");
  543.   return _res;
  544. }
  545. static __inline void 
  546. Exit (BASE_PAR_DECL long returnCode)
  547. {
  548.   BASE_EXT_DECL
  549.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  550.   register long d1 __asm("d1") = returnCode;
  551.   __asm __volatile ("jsr a6@(-0x90)"
  552.   : /* no output */
  553.   : "r" (a6), "r" (d1)
  554.   : "a0","a1","d0","d1");
  555. }
  556. static __inline LONG 
  557. FGetC (BASE_PAR_DECL BPTR fh)
  558. {
  559.   BASE_EXT_DECL
  560.   register LONG  _res  __asm("d0");
  561.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  562.   register BPTR d1 __asm("d1") = fh;
  563.   __asm __volatile ("jsr a6@(-0x132)"
  564.   : "=r" (_res)
  565.   : "r" (a6), "r" (d1)
  566.   : "a0","a1","d0","d1");
  567.   return _res;
  568. }
  569. static __inline STRPTR 
  570. FGets (BASE_PAR_DECL BPTR fh,STRPTR buf,unsigned long buflen)
  571. {
  572.   BASE_EXT_DECL
  573.   register STRPTR  _res  __asm("d0");
  574.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  575.   register BPTR d1 __asm("d1") = fh;
  576.   register STRPTR d2 __asm("d2") = buf;
  577.   register unsigned long d3 __asm("d3") = buflen;
  578.   __asm __volatile ("jsr a6@(-0x150)"
  579.   : "=r" (_res)
  580.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  581.   : "a0","a1","d0","d1","d2","d3");
  582.   return _res;
  583. }
  584. static __inline LONG 
  585. FPutC (BASE_PAR_DECL BPTR fh,unsigned long ch)
  586. {
  587.   BASE_EXT_DECL
  588.   register LONG  _res  __asm("d0");
  589.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  590.   register BPTR d1 __asm("d1") = fh;
  591.   register unsigned long d2 __asm("d2") = ch;
  592.   __asm __volatile ("jsr a6@(-0x138)"
  593.   : "=r" (_res)
  594.   : "r" (a6), "r" (d1), "r" (d2)
  595.   : "a0","a1","d0","d1","d2");
  596.   return _res;
  597. }
  598. static __inline LONG 
  599. FPuts (BASE_PAR_DECL BPTR fh,STRPTR str)
  600. {
  601.   BASE_EXT_DECL
  602.   register LONG  _res  __asm("d0");
  603.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  604.   register BPTR d1 __asm("d1") = fh;
  605.   register STRPTR d2 __asm("d2") = str;
  606.   __asm __volatile ("jsr a6@(-0x156)"
  607.   : "=r" (_res)
  608.   : "r" (a6), "r" (d1), "r" (d2)
  609.   : "a0","a1","d0","d1","d2");
  610.   return _res;
  611. }
  612. static __inline LONG 
  613. FRead (BASE_PAR_DECL BPTR fh,APTR block,unsigned long blocklen,unsigned long number)
  614. {
  615.   BASE_EXT_DECL
  616.   register LONG  _res  __asm("d0");
  617.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  618.   register BPTR d1 __asm("d1") = fh;
  619.   register APTR d2 __asm("d2") = block;
  620.   register unsigned long d3 __asm("d3") = blocklen;
  621.   register unsigned long d4 __asm("d4") = number;
  622.   __asm __volatile ("jsr a6@(-0x144)"
  623.   : "=r" (_res)
  624.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  625.   : "a0","a1","d0","d1","d2","d3","d4");
  626.   return _res;
  627. }
  628. static __inline LONG 
  629. FWrite (BASE_PAR_DECL BPTR fh,APTR block,unsigned long blocklen,unsigned long number)
  630. {
  631.   BASE_EXT_DECL
  632.   register LONG  _res  __asm("d0");
  633.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  634.   register BPTR d1 __asm("d1") = fh;
  635.   register APTR d2 __asm("d2") = block;
  636.   register unsigned long d3 __asm("d3") = blocklen;
  637.   register unsigned long d4 __asm("d4") = number;
  638.   __asm __volatile ("jsr a6@(-0x14a)"
  639.   : "=r" (_res)
  640.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  641.   : "a0","a1","d0","d1","d2","d3","d4");
  642.   return _res;
  643. }
  644. static __inline BOOL 
  645. Fault (BASE_PAR_DECL long code,STRPTR header,STRPTR buffer,long len)
  646. {
  647.   BASE_EXT_DECL
  648.   register BOOL  _res  __asm("d0");
  649.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  650.   register long d1 __asm("d1") = code;
  651.   register STRPTR d2 __asm("d2") = header;
  652.   register STRPTR d3 __asm("d3") = buffer;
  653.   register long d4 __asm("d4") = len;
  654.   __asm __volatile ("jsr a6@(-0x1d4)"
  655.   : "=r" (_res)
  656.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  657.   : "a0","a1","d0","d1","d2","d3","d4");
  658.   return _res;
  659. }
  660. static __inline STRPTR 
  661. FilePart (BASE_PAR_DECL STRPTR path)
  662. {
  663.   BASE_EXT_DECL
  664.   register STRPTR  _res  __asm("d0");
  665.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  666.   register STRPTR d1 __asm("d1") = path;
  667.   __asm __volatile ("jsr a6@(-0x366)"
  668.   : "=r" (_res)
  669.   : "r" (a6), "r" (d1)
  670.   : "a0","a1","d0","d1");
  671.   return _res;
  672. }
  673. static __inline LONG 
  674. FindArg (BASE_PAR_DECL STRPTR keyword,STRPTR template)
  675. {
  676.   BASE_EXT_DECL
  677.   register LONG  _res  __asm("d0");
  678.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  679.   register STRPTR d1 __asm("d1") = keyword;
  680.   register STRPTR d2 __asm("d2") = template;
  681.   __asm __volatile ("jsr a6@(-0x324)"
  682.   : "=r" (_res)
  683.   : "r" (a6), "r" (d1), "r" (d2)
  684.   : "a0","a1","d0","d1","d2");
  685.   return _res;
  686. }
  687. static __inline struct Process *
  688. FindCliProc (BASE_PAR_DECL unsigned long num)
  689. {
  690.   BASE_EXT_DECL
  691.   register struct Process * _res  __asm("d0");
  692.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  693.   register unsigned long d1 __asm("d1") = num;
  694.   __asm __volatile ("jsr a6@(-0x222)"
  695.   : "=r" (_res)
  696.   : "r" (a6), "r" (d1)
  697.   : "a0","a1","d0","d1");
  698.   return _res;
  699. }
  700. static __inline struct DosList *
  701. FindDosEntry (BASE_PAR_DECL struct DosList *dlist,STRPTR name,unsigned long flags)
  702. {
  703.   BASE_EXT_DECL
  704.   register struct DosList * _res  __asm("d0");
  705.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  706.   register struct DosList *d1 __asm("d1") = dlist;
  707.   register STRPTR d2 __asm("d2") = name;
  708.   register unsigned long d3 __asm("d3") = flags;
  709.   __asm __volatile ("jsr a6@(-0x2ac)"
  710.   : "=r" (_res)
  711.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  712.   : "a0","a1","d0","d1","d2","d3");
  713.   return _res;
  714. }
  715. static __inline struct Segment *
  716. FindSegment (BASE_PAR_DECL STRPTR name,struct Segment *seg,long system)
  717. {
  718.   BASE_EXT_DECL
  719.   register struct Segment * _res  __asm("d0");
  720.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  721.   register STRPTR d1 __asm("d1") = name;
  722.   register struct Segment *d2 __asm("d2") = seg;
  723.   register long d3 __asm("d3") = system;
  724.   __asm __volatile ("jsr a6@(-0x30c)"
  725.   : "=r" (_res)
  726.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  727.   : "a0","a1","d0","d1","d2","d3");
  728.   return _res;
  729. }
  730. static __inline struct LocalVar *
  731. FindVar (BASE_PAR_DECL STRPTR name,unsigned long type)
  732. {
  733.   BASE_EXT_DECL
  734.   register struct LocalVar * _res  __asm("d0");
  735.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  736.   register STRPTR d1 __asm("d1") = name;
  737.   register unsigned long d2 __asm("d2") = type;
  738.   __asm __volatile ("jsr a6@(-0x396)"
  739.   : "=r" (_res)
  740.   : "r" (a6), "r" (d1), "r" (d2)
  741.   : "a0","a1","d0","d1","d2");
  742.   return _res;
  743. }
  744. static __inline LONG 
  745. Flush (BASE_PAR_DECL BPTR fh)
  746. {
  747.   BASE_EXT_DECL
  748.   register LONG  _res  __asm("d0");
  749.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  750.   register BPTR d1 __asm("d1") = fh;
  751.   __asm __volatile ("jsr a6@(-0x168)"
  752.   : "=r" (_res)
  753.   : "r" (a6), "r" (d1)
  754.   : "a0","a1","d0","d1");
  755.   return _res;
  756. }
  757. static __inline BOOL 
  758. Format (BASE_PAR_DECL STRPTR filesystem,STRPTR volumename,unsigned long dostype)
  759. {
  760.   BASE_EXT_DECL
  761.   register BOOL  _res  __asm("d0");
  762.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  763.   register STRPTR d1 __asm("d1") = filesystem;
  764.   register STRPTR d2 __asm("d2") = volumename;
  765.   register unsigned long d3 __asm("d3") = dostype;
  766.   __asm __volatile ("jsr a6@(-0x2ca)"
  767.   : "=r" (_res)
  768.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  769.   : "a0","a1","d0","d1","d2","d3");
  770.   return _res;
  771. }
  772. static __inline void 
  773. FreeArgs (BASE_PAR_DECL struct RDArgs *args)
  774. {
  775.   BASE_EXT_DECL
  776.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  777.   register struct RDArgs *d1 __asm("d1") = args;
  778.   __asm __volatile ("jsr a6@(-0x35a)"
  779.   : /* no output */
  780.   : "r" (a6), "r" (d1)
  781.   : "a0","a1","d0","d1");
  782. }
  783. static __inline void 
  784. FreeDeviceProc (BASE_PAR_DECL struct DevProc *dp)
  785. {
  786.   BASE_EXT_DECL
  787.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  788.   register struct DevProc *d1 __asm("d1") = dp;
  789.   __asm __volatile ("jsr a6@(-0x288)"
  790.   : /* no output */
  791.   : "r" (a6), "r" (d1)
  792.   : "a0","a1","d0","d1");
  793. }
  794. static __inline void 
  795. FreeDosEntry (BASE_PAR_DECL struct DosList *dlist)
  796. {
  797.   BASE_EXT_DECL
  798.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  799.   register struct DosList *d1 __asm("d1") = dlist;
  800.   __asm __volatile ("jsr a6@(-0x2be)"
  801.   : /* no output */
  802.   : "r" (a6), "r" (d1)
  803.   : "a0","a1","d0","d1");
  804. }
  805. static __inline void 
  806. FreeDosObject (BASE_PAR_DECL unsigned long type,APTR ptr)
  807. {
  808.   BASE_EXT_DECL
  809.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  810.   register unsigned long d1 __asm("d1") = type;
  811.   register APTR d2 __asm("d2") = ptr;
  812.   __asm __volatile ("jsr a6@(-0xea)"
  813.   : /* no output */
  814.   : "r" (a6), "r" (d1), "r" (d2)
  815.   : "a0","a1","d0","d1","d2");
  816. }
  817. static __inline STRPTR 
  818. GetArgStr (BASE_PAR_DECL0)
  819. {
  820.   BASE_EXT_DECL
  821.   register STRPTR  _res  __asm("d0");
  822.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  823.   __asm __volatile ("jsr a6@(-0x216)"
  824.   : "=r" (_res)
  825.   : "r" (a6)
  826.   : "a0","a1","d0","d1");
  827.   return _res;
  828. }
  829. static __inline struct MsgPort *
  830. GetConsoleTask (BASE_PAR_DECL0)
  831. {
  832.   BASE_EXT_DECL
  833.   register struct MsgPort * _res  __asm("d0");
  834.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  835.   __asm __volatile ("jsr a6@(-0x1fe)"
  836.   : "=r" (_res)
  837.   : "r" (a6)
  838.   : "a0","a1","d0","d1");
  839.   return _res;
  840. }
  841. static __inline BOOL 
  842. GetCurrentDirName (BASE_PAR_DECL STRPTR buf,long len)
  843. {
  844.   BASE_EXT_DECL
  845.   register BOOL  _res  __asm("d0");
  846.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  847.   register STRPTR d1 __asm("d1") = buf;
  848.   register long d2 __asm("d2") = len;
  849.   __asm __volatile ("jsr a6@(-0x234)"
  850.   : "=r" (_res)
  851.   : "r" (a6), "r" (d1), "r" (d2)
  852.   : "a0","a1","d0","d1","d2");
  853.   return _res;
  854. }
  855. static __inline struct DevProc *
  856. GetDeviceProc (BASE_PAR_DECL STRPTR name,struct DevProc *dp)
  857. {
  858.   BASE_EXT_DECL
  859.   register struct DevProc * _res  __asm("d0");
  860.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  861.   register STRPTR d1 __asm("d1") = name;
  862.   register struct DevProc *d2 __asm("d2") = dp;
  863.   __asm __volatile ("jsr a6@(-0x282)"
  864.   : "=r" (_res)
  865.   : "r" (a6), "r" (d1), "r" (d2)
  866.   : "a0","a1","d0","d1","d2");
  867.   return _res;
  868. }
  869. static __inline struct MsgPort *
  870. GetFileSysTask (BASE_PAR_DECL0)
  871. {
  872.   BASE_EXT_DECL
  873.   register struct MsgPort * _res  __asm("d0");
  874.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  875.   __asm __volatile ("jsr a6@(-0x20a)"
  876.   : "=r" (_res)
  877.   : "r" (a6)
  878.   : "a0","a1","d0","d1");
  879.   return _res;
  880. }
  881. static __inline BPTR 
  882. GetProgramDir (BASE_PAR_DECL0)
  883. {
  884.   BASE_EXT_DECL
  885.   register BPTR  _res  __asm("d0");
  886.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  887.   __asm __volatile ("jsr a6@(-0x258)"
  888.   : "=r" (_res)
  889.   : "r" (a6)
  890.   : "a0","a1","d0","d1");
  891.   return _res;
  892. }
  893. static __inline BOOL 
  894. GetProgramName (BASE_PAR_DECL STRPTR buf,long len)
  895. {
  896.   BASE_EXT_DECL
  897.   register BOOL  _res  __asm("d0");
  898.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  899.   register STRPTR d1 __asm("d1") = buf;
  900.   register long d2 __asm("d2") = len;
  901.   __asm __volatile ("jsr a6@(-0x240)"
  902.   : "=r" (_res)
  903.   : "r" (a6), "r" (d1), "r" (d2)
  904.   : "a0","a1","d0","d1","d2");
  905.   return _res;
  906. }
  907. static __inline BOOL 
  908. GetPrompt (BASE_PAR_DECL STRPTR buf,long len)
  909. {
  910.   BASE_EXT_DECL
  911.   register BOOL  _res  __asm("d0");
  912.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  913.   register STRPTR d1 __asm("d1") = buf;
  914.   register long d2 __asm("d2") = len;
  915.   __asm __volatile ("jsr a6@(-0x24c)"
  916.   : "=r" (_res)
  917.   : "r" (a6), "r" (d1), "r" (d2)
  918.   : "a0","a1","d0","d1","d2");
  919.   return _res;
  920. }
  921. static __inline LONG 
  922. GetVar (BASE_PAR_DECL STRPTR name,STRPTR buffer,long size,long flags)
  923. {
  924.   BASE_EXT_DECL
  925.   register LONG  _res  __asm("d0");
  926.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  927.   register STRPTR d1 __asm("d1") = name;
  928.   register STRPTR d2 __asm("d2") = buffer;
  929.   register long d3 __asm("d3") = size;
  930.   register long d4 __asm("d4") = flags;
  931.   __asm __volatile ("jsr a6@(-0x38a)"
  932.   : "=r" (_res)
  933.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  934.   : "a0","a1","d0","d1","d2","d3","d4");
  935.   return _res;
  936. }
  937. static __inline LONG 
  938. Info (BASE_PAR_DECL BPTR lock,struct InfoData *parameterBlock)
  939. {
  940.   BASE_EXT_DECL
  941.   register LONG  _res  __asm("d0");
  942.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  943.   register BPTR d1 __asm("d1") = lock;
  944.   register struct InfoData *d2 __asm("d2") = parameterBlock;
  945.   __asm __volatile ("jsr a6@(-0x72)"
  946.   : "=r" (_res)
  947.   : "r" (a6), "r" (d1), "r" (d2)
  948.   : "a0","a1","d0","d1","d2");
  949.   return _res;
  950. }
  951. static __inline LONG 
  952. Inhibit (BASE_PAR_DECL STRPTR name,long onoff)
  953. {
  954.   BASE_EXT_DECL
  955.   register LONG  _res  __asm("d0");
  956.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  957.   register STRPTR d1 __asm("d1") = name;
  958.   register long d2 __asm("d2") = onoff;
  959.   __asm __volatile ("jsr a6@(-0x2d6)"
  960.   : "=r" (_res)
  961.   : "r" (a6), "r" (d1), "r" (d2)
  962.   : "a0","a1","d0","d1","d2");
  963.   return _res;
  964. }
  965. static __inline BPTR 
  966. Input (BASE_PAR_DECL0)
  967. {
  968.   BASE_EXT_DECL
  969.   register BPTR  _res  __asm("d0");
  970.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  971.   __asm __volatile ("jsr a6@(-0x36)"
  972.   : "=r" (_res)
  973.   : "r" (a6)
  974.   : "a0","a1","d0","d1");
  975.   return _res;
  976. }
  977. static __inline BPTR 
  978. InternalLoadSeg (BASE_PAR_DECL BPTR fh,BPTR table,LONG *funcarray,LONG *stack)
  979. {
  980.   BASE_EXT_DECL
  981.   register BPTR  _res  __asm("d0");
  982.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  983.   register BPTR d0 __asm("d0") = fh;
  984.   register BPTR a0 __asm("a0") = table;
  985.   register LONG *a1 __asm("a1") = funcarray;
  986.   register LONG *a2 __asm("a2") = stack;
  987.   __asm __volatile ("jsr a6@(-0x2f4)"
  988.   : "=r" (_res)
  989.   : "r" (a6), "r" (d0), "r" (a0), "r" (a1), "r" (a2)
  990.   : "a0","a1","a2","d0","d1");
  991.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  992.   return _res;
  993. }
  994. static __inline void 
  995. InternalUnLoadSeg (BASE_PAR_DECL BPTR seglist,void (*freefunc)())
  996. {
  997.   BASE_EXT_DECL
  998.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  999.   register BPTR d1 __asm("d1") = seglist;
  1000.   register void (*a1)() __asm("a1") = freefunc;
  1001.   __asm __volatile ("jsr a6@(-0x2fa)"
  1002.   : /* no output */
  1003.   : "r" (a6), "r" (d1), "r" (a1)
  1004.   : "a0","a1","d0","d1");
  1005.   *(char *)a1 = *(char *)a1;
  1006. }
  1007. static __inline LONG 
  1008. IoErr (BASE_PAR_DECL0)
  1009. {
  1010.   BASE_EXT_DECL
  1011.   register LONG  _res  __asm("d0");
  1012.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1013.   __asm __volatile ("jsr a6@(-0x84)"
  1014.   : "=r" (_res)
  1015.   : "r" (a6)
  1016.   : "a0","a1","d0","d1");
  1017.   return _res;
  1018. }
  1019. static __inline BOOL 
  1020. IsFileSystem (BASE_PAR_DECL STRPTR name)
  1021. {
  1022.   BASE_EXT_DECL
  1023.   register BOOL  _res  __asm("d0");
  1024.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1025.   register STRPTR d1 __asm("d1") = name;
  1026.   __asm __volatile ("jsr a6@(-0x2c4)"
  1027.   : "=r" (_res)
  1028.   : "r" (a6), "r" (d1)
  1029.   : "a0","a1","d0","d1");
  1030.   return _res;
  1031. }
  1032. static __inline LONG 
  1033. IsInteractive (BASE_PAR_DECL BPTR file)
  1034. {
  1035.   BASE_EXT_DECL
  1036.   register LONG  _res  __asm("d0");
  1037.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1038.   register BPTR d1 __asm("d1") = file;
  1039.   __asm __volatile ("jsr a6@(-0xd8)"
  1040.   : "=r" (_res)
  1041.   : "r" (a6), "r" (d1)
  1042.   : "a0","a1","d0","d1");
  1043.   return _res;
  1044. }
  1045. static __inline BPTR 
  1046. LoadSeg (BASE_PAR_DECL STRPTR name)
  1047. {
  1048.   BASE_EXT_DECL
  1049.   register BPTR  _res  __asm("d0");
  1050.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1051.   register STRPTR d1 __asm("d1") = name;
  1052.   __asm __volatile ("jsr a6@(-0x96)"
  1053.   : "=r" (_res)
  1054.   : "r" (a6), "r" (d1)
  1055.   : "a0","a1","d0","d1");
  1056.   return _res;
  1057. }
  1058. static __inline BPTR 
  1059. Lock (BASE_PAR_DECL STRPTR name,long type)
  1060. {
  1061.   BASE_EXT_DECL
  1062.   register BPTR  _res  __asm("d0");
  1063.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1064.   register STRPTR d1 __asm("d1") = name;
  1065.   register long d2 __asm("d2") = type;
  1066.   __asm __volatile ("jsr a6@(-0x54)"
  1067.   : "=r" (_res)
  1068.   : "r" (a6), "r" (d1), "r" (d2)
  1069.   : "a0","a1","d0","d1","d2");
  1070.   return _res;
  1071. }
  1072. static __inline struct DosList *
  1073. LockDosList (BASE_PAR_DECL unsigned long flags)
  1074. {
  1075.   BASE_EXT_DECL
  1076.   register struct DosList * _res  __asm("d0");
  1077.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1078.   register unsigned long d1 __asm("d1") = flags;
  1079.   __asm __volatile ("jsr a6@(-0x28e)"
  1080.   : "=r" (_res)
  1081.   : "r" (a6), "r" (d1)
  1082.   : "a0","a1","d0","d1");
  1083.   return _res;
  1084. }
  1085. static __inline BOOL 
  1086. LockRecord (BASE_PAR_DECL BPTR fh,unsigned long offset,unsigned long length,unsigned long mode,unsigned long timeout)
  1087. {
  1088.   BASE_EXT_DECL
  1089.   register BOOL  _res  __asm("d0");
  1090.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1091.   register BPTR d1 __asm("d1") = fh;
  1092.   register unsigned long d2 __asm("d2") = offset;
  1093.   register unsigned long d3 __asm("d3") = length;
  1094.   register unsigned long d4 __asm("d4") = mode;
  1095.   register unsigned long d5 __asm("d5") = timeout;
  1096.   __asm __volatile ("jsr a6@(-0x10e)"
  1097.   : "=r" (_res)
  1098.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1099.   : "a0","a1","d0","d1","d2","d3","d4","d5");
  1100.   return _res;
  1101. }
  1102. static __inline BOOL 
  1103. LockRecords (BASE_PAR_DECL struct RecordLock *recArray,unsigned long timeout)
  1104. {
  1105.   BASE_EXT_DECL
  1106.   register BOOL  _res  __asm("d0");
  1107.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1108.   register struct RecordLock *d1 __asm("d1") = recArray;
  1109.   register unsigned long d2 __asm("d2") = timeout;
  1110.   __asm __volatile ("jsr a6@(-0x114)"
  1111.   : "=r" (_res)
  1112.   : "r" (a6), "r" (d1), "r" (d2)
  1113.   : "a0","a1","d0","d1","d2");
  1114.   return _res;
  1115. }
  1116. static __inline struct DosList *
  1117. MakeDosEntry (BASE_PAR_DECL STRPTR name,long type)
  1118. {
  1119.   BASE_EXT_DECL
  1120.   register struct DosList * _res  __asm("d0");
  1121.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1122.   register STRPTR d1 __asm("d1") = name;
  1123.   register long d2 __asm("d2") = type;
  1124.   __asm __volatile ("jsr a6@(-0x2b8)"
  1125.   : "=r" (_res)
  1126.   : "r" (a6), "r" (d1), "r" (d2)
  1127.   : "a0","a1","d0","d1","d2");
  1128.   return _res;
  1129. }
  1130. static __inline LONG 
  1131. MakeLink (BASE_PAR_DECL STRPTR name,long dest,long soft)
  1132. {
  1133.   BASE_EXT_DECL
  1134.   register LONG  _res  __asm("d0");
  1135.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1136.   register STRPTR d1 __asm("d1") = name;
  1137.   register long d2 __asm("d2") = dest;
  1138.   register long d3 __asm("d3") = soft;
  1139.   __asm __volatile ("jsr a6@(-0x1bc)"
  1140.   : "=r" (_res)
  1141.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1142.   : "a0","a1","d0","d1","d2","d3");
  1143.   return _res;
  1144. }
  1145. static __inline void 
  1146. MatchEnd (BASE_PAR_DECL struct AnchorPath *anchor)
  1147. {
  1148.   BASE_EXT_DECL
  1149.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1150.   register struct AnchorPath *d1 __asm("d1") = anchor;
  1151.   __asm __volatile ("jsr a6@(-0x342)"
  1152.   : /* no output */
  1153.   : "r" (a6), "r" (d1)
  1154.   : "a0","a1","d0","d1");
  1155. }
  1156. static __inline LONG 
  1157. MatchFirst (BASE_PAR_DECL STRPTR pat,struct AnchorPath *anchor)
  1158. {
  1159.   BASE_EXT_DECL
  1160.   register LONG  _res  __asm("d0");
  1161.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1162.   register STRPTR d1 __asm("d1") = pat;
  1163.   register struct AnchorPath *d2 __asm("d2") = anchor;
  1164.   __asm __volatile ("jsr a6@(-0x336)"
  1165.   : "=r" (_res)
  1166.   : "r" (a6), "r" (d1), "r" (d2)
  1167.   : "a0","a1","d0","d1","d2");
  1168.   return _res;
  1169. }
  1170. static __inline LONG 
  1171. MatchNext (BASE_PAR_DECL struct AnchorPath *anchor)
  1172. {
  1173.   BASE_EXT_DECL
  1174.   register LONG  _res  __asm("d0");
  1175.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1176.   register struct AnchorPath *d1 __asm("d1") = anchor;
  1177.   __asm __volatile ("jsr a6@(-0x33c)"
  1178.   : "=r" (_res)
  1179.   : "r" (a6), "r" (d1)
  1180.   : "a0","a1","d0","d1");
  1181.   return _res;
  1182. }
  1183. static __inline BOOL 
  1184. MatchPattern (BASE_PAR_DECL STRPTR pat,STRPTR str)
  1185. {
  1186.   BASE_EXT_DECL
  1187.   register BOOL  _res  __asm("d0");
  1188.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1189.   register STRPTR d1 __asm("d1") = pat;
  1190.   register STRPTR d2 __asm("d2") = str;
  1191.   __asm __volatile ("jsr a6@(-0x34e)"
  1192.   : "=r" (_res)
  1193.   : "r" (a6), "r" (d1), "r" (d2)
  1194.   : "a0","a1","d0","d1","d2");
  1195.   return _res;
  1196. }
  1197. static __inline BOOL 
  1198. MatchPatternNoCase (BASE_PAR_DECL STRPTR pat,STRPTR str)
  1199. {
  1200.   BASE_EXT_DECL
  1201.   register BOOL  _res  __asm("d0");
  1202.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1203.   register STRPTR d1 __asm("d1") = pat;
  1204.   register STRPTR d2 __asm("d2") = str;
  1205.   __asm __volatile ("jsr a6@(-0x3cc)"
  1206.   : "=r" (_res)
  1207.   : "r" (a6), "r" (d1), "r" (d2)
  1208.   : "a0","a1","d0","d1","d2");
  1209.   return _res;
  1210. }
  1211. static __inline ULONG 
  1212. MaxCli (BASE_PAR_DECL0)
  1213. {
  1214.   BASE_EXT_DECL
  1215.   register ULONG  _res  __asm("d0");
  1216.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1217.   __asm __volatile ("jsr a6@(-0x228)"
  1218.   : "=r" (_res)
  1219.   : "r" (a6)
  1220.   : "a0","a1","d0","d1");
  1221.   return _res;
  1222. }
  1223. static __inline LONG 
  1224. NameFromFH (BASE_PAR_DECL BPTR fh,STRPTR buffer,long len)
  1225. {
  1226.   BASE_EXT_DECL
  1227.   register LONG  _res  __asm("d0");
  1228.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1229.   register BPTR d1 __asm("d1") = fh;
  1230.   register STRPTR d2 __asm("d2") = buffer;
  1231.   register long d3 __asm("d3") = len;
  1232.   __asm __volatile ("jsr a6@(-0x198)"
  1233.   : "=r" (_res)
  1234.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1235.   : "a0","a1","d0","d1","d2","d3");
  1236.   return _res;
  1237. }
  1238. static __inline LONG 
  1239. NameFromLock (BASE_PAR_DECL BPTR lock,STRPTR buffer,long len)
  1240. {
  1241.   BASE_EXT_DECL
  1242.   register LONG  _res  __asm("d0");
  1243.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1244.   register BPTR d1 __asm("d1") = lock;
  1245.   register STRPTR d2 __asm("d2") = buffer;
  1246.   register long d3 __asm("d3") = len;
  1247.   __asm __volatile ("jsr a6@(-0x192)"
  1248.   : "=r" (_res)
  1249.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1250.   : "a0","a1","d0","d1","d2","d3");
  1251.   return _res;
  1252. }
  1253. static __inline BPTR 
  1254. NewLoadSeg (BASE_PAR_DECL STRPTR file,struct TagItem *tags)
  1255. {
  1256.   BASE_EXT_DECL
  1257.   register BPTR  _res  __asm("d0");
  1258.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1259.   register STRPTR d1 __asm("d1") = file;
  1260.   register struct TagItem *d2 __asm("d2") = tags;
  1261.   __asm __volatile ("jsr a6@(-0x300)"
  1262.   : "=r" (_res)
  1263.   : "r" (a6), "r" (d1), "r" (d2)
  1264.   : "a0","a1","d0","d1","d2");
  1265.   return _res;
  1266. }
  1267. static __inline struct DosList *
  1268. NextDosEntry (BASE_PAR_DECL struct DosList *dlist,unsigned long flags)
  1269. {
  1270.   BASE_EXT_DECL
  1271.   register struct DosList * _res  __asm("d0");
  1272.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1273.   register struct DosList *d1 __asm("d1") = dlist;
  1274.   register unsigned long d2 __asm("d2") = flags;
  1275.   __asm __volatile ("jsr a6@(-0x2b2)"
  1276.   : "=r" (_res)
  1277.   : "r" (a6), "r" (d1), "r" (d2)
  1278.   : "a0","a1","d0","d1","d2");
  1279.   return _res;
  1280. }
  1281. static __inline BPTR 
  1282. Open (BASE_PAR_DECL STRPTR name,long accessMode)
  1283. {
  1284.   BASE_EXT_DECL
  1285.   register BPTR  _res  __asm("d0");
  1286.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1287.   register STRPTR d1 __asm("d1") = name;
  1288.   register long d2 __asm("d2") = accessMode;
  1289.   __asm __volatile ("jsr a6@(-0x1e)"
  1290.   : "=r" (_res)
  1291.   : "r" (a6), "r" (d1), "r" (d2)
  1292.   : "a0","a1","d0","d1","d2");
  1293.   return _res;
  1294. }
  1295. static __inline BPTR 
  1296. OpenFromLock (BASE_PAR_DECL BPTR lock)
  1297. {
  1298.   BASE_EXT_DECL
  1299.   register BPTR  _res  __asm("d0");
  1300.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1301.   register BPTR d1 __asm("d1") = lock;
  1302.   __asm __volatile ("jsr a6@(-0x17a)"
  1303.   : "=r" (_res)
  1304.   : "r" (a6), "r" (d1)
  1305.   : "a0","a1","d0","d1");
  1306.   return _res;
  1307. }
  1308. static __inline BPTR 
  1309. Output (BASE_PAR_DECL0)
  1310. {
  1311.   BASE_EXT_DECL
  1312.   register BPTR  _res  __asm("d0");
  1313.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1314.   __asm __volatile ("jsr a6@(-0x3c)"
  1315.   : "=r" (_res)
  1316.   : "r" (a6)
  1317.   : "a0","a1","d0","d1");
  1318.   return _res;
  1319. }
  1320. static __inline BPTR 
  1321. ParentDir (BASE_PAR_DECL BPTR lock)
  1322. {
  1323.   BASE_EXT_DECL
  1324.   register BPTR  _res  __asm("d0");
  1325.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1326.   register BPTR d1 __asm("d1") = lock;
  1327.   __asm __volatile ("jsr a6@(-0xd2)"
  1328.   : "=r" (_res)
  1329.   : "r" (a6), "r" (d1)
  1330.   : "a0","a1","d0","d1");
  1331.   return _res;
  1332. }
  1333. static __inline BPTR 
  1334. ParentOfFH (BASE_PAR_DECL BPTR fh)
  1335. {
  1336.   BASE_EXT_DECL
  1337.   register BPTR  _res  __asm("d0");
  1338.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1339.   register BPTR d1 __asm("d1") = fh;
  1340.   __asm __volatile ("jsr a6@(-0x180)"
  1341.   : "=r" (_res)
  1342.   : "r" (a6), "r" (d1)
  1343.   : "a0","a1","d0","d1");
  1344.   return _res;
  1345. }
  1346. static __inline LONG 
  1347. ParsePattern (BASE_PAR_DECL STRPTR pat,STRPTR buf,long buflen)
  1348. {
  1349.   BASE_EXT_DECL
  1350.   register LONG  _res  __asm("d0");
  1351.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1352.   register STRPTR d1 __asm("d1") = pat;
  1353.   register STRPTR d2 __asm("d2") = buf;
  1354.   register long d3 __asm("d3") = buflen;
  1355.   __asm __volatile ("jsr a6@(-0x348)"
  1356.   : "=r" (_res)
  1357.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1358.   : "a0","a1","d0","d1","d2","d3");
  1359.   return _res;
  1360. }
  1361. static __inline LONG 
  1362. ParsePatternNoCase (BASE_PAR_DECL STRPTR pat,STRPTR buf,long buflen)
  1363. {
  1364.   BASE_EXT_DECL
  1365.   register LONG  _res  __asm("d0");
  1366.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1367.   register STRPTR d1 __asm("d1") = pat;
  1368.   register STRPTR d2 __asm("d2") = buf;
  1369.   register long d3 __asm("d3") = buflen;
  1370.   __asm __volatile ("jsr a6@(-0x3c6)"
  1371.   : "=r" (_res)
  1372.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1373.   : "a0","a1","d0","d1","d2","d3");
  1374.   return _res;
  1375. }
  1376. static __inline STRPTR 
  1377. PathPart (BASE_PAR_DECL STRPTR path)
  1378. {
  1379.   BASE_EXT_DECL
  1380.   register STRPTR  _res  __asm("d0");
  1381.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1382.   register STRPTR d1 __asm("d1") = path;
  1383.   __asm __volatile ("jsr a6@(-0x36c)"
  1384.   : "=r" (_res)
  1385.   : "r" (a6), "r" (d1)
  1386.   : "a0","a1","d0","d1");
  1387.   return _res;
  1388. }
  1389. static __inline BOOL 
  1390. PrintFault (BASE_PAR_DECL long code,STRPTR header)
  1391. {
  1392.   BASE_EXT_DECL
  1393.   register BOOL  _res  __asm("d0");
  1394.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1395.   register long d1 __asm("d1") = code;
  1396.   register STRPTR d2 __asm("d2") = header;
  1397.   __asm __volatile ("jsr a6@(-0x1da)"
  1398.   : "=r" (_res)
  1399.   : "r" (a6), "r" (d1), "r" (d2)
  1400.   : "a0","a1","d0","d1","d2");
  1401.   return _res;
  1402. }
  1403. static __inline LONG 
  1404. PutStr (BASE_PAR_DECL STRPTR str)
  1405. {
  1406.   BASE_EXT_DECL
  1407.   register LONG  _res  __asm("d0");
  1408.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1409.   register STRPTR d1 __asm("d1") = str;
  1410.   __asm __volatile ("jsr a6@(-0x3b4)"
  1411.   : "=r" (_res)
  1412.   : "r" (a6), "r" (d1)
  1413.   : "a0","a1","d0","d1");
  1414.   return _res;
  1415. }
  1416. static __inline LONG 
  1417. Read (BASE_PAR_DECL BPTR file,APTR buffer,long length)
  1418. {
  1419.   BASE_EXT_DECL
  1420.   register LONG  _res  __asm("d0");
  1421.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1422.   register BPTR d1 __asm("d1") = file;
  1423.   register APTR d2 __asm("d2") = buffer;
  1424.   register long d3 __asm("d3") = length;
  1425.   __asm __volatile ("jsr a6@(-0x2a)"
  1426.   : "=r" (_res)
  1427.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1428.   : "a0","a1","d0","d1","d2","d3");
  1429.   return _res;
  1430. }
  1431. static __inline struct RDArgs *
  1432. ReadArgs (BASE_PAR_DECL STRPTR template,LONG *array,struct RDArgs *args)
  1433. {
  1434.   BASE_EXT_DECL
  1435.   register struct RDArgs * _res  __asm("d0");
  1436.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1437.   register STRPTR d1 __asm("d1") = template;
  1438.   register LONG *d2 __asm("d2") = array;
  1439.   register struct RDArgs *d3 __asm("d3") = args;
  1440.   __asm __volatile ("jsr a6@(-0x31e)"
  1441.   : "=r" (_res)
  1442.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1443.   : "a0","a1","d0","d1","d2","d3");
  1444.   return _res;
  1445. }
  1446. static __inline LONG 
  1447. ReadItem (BASE_PAR_DECL STRPTR name,long maxchars,struct CSource *cSource)
  1448. {
  1449.   BASE_EXT_DECL
  1450.   register LONG  _res  __asm("d0");
  1451.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1452.   register STRPTR d1 __asm("d1") = name;
  1453.   register long d2 __asm("d2") = maxchars;
  1454.   register struct CSource *d3 __asm("d3") = cSource;
  1455.   __asm __volatile ("jsr a6@(-0x32a)"
  1456.   : "=r" (_res)
  1457.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1458.   : "a0","a1","d0","d1","d2","d3");
  1459.   return _res;
  1460. }
  1461. static __inline LONG 
  1462. ReadLink (BASE_PAR_DECL struct MsgPort *port,BPTR lock,STRPTR path,STRPTR buffer,unsigned long size)
  1463. {
  1464.   BASE_EXT_DECL
  1465.   register LONG  _res  __asm("d0");
  1466.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1467.   register struct MsgPort *d1 __asm("d1") = port;
  1468.   register BPTR d2 __asm("d2") = lock;
  1469.   register STRPTR d3 __asm("d3") = path;
  1470.   register STRPTR d4 __asm("d4") = buffer;
  1471.   register unsigned long d5 __asm("d5") = size;
  1472.   __asm __volatile ("jsr a6@(-0x1b6)"
  1473.   : "=r" (_res)
  1474.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1475.   : "a0","a1","d0","d1","d2","d3","d4","d5");
  1476.   return _res;
  1477. }
  1478. static __inline LONG 
  1479. Relabel (BASE_PAR_DECL STRPTR drive,STRPTR newname)
  1480. {
  1481.   BASE_EXT_DECL
  1482.   register LONG  _res  __asm("d0");
  1483.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1484.   register STRPTR d1 __asm("d1") = drive;
  1485.   register STRPTR d2 __asm("d2") = newname;
  1486.   __asm __volatile ("jsr a6@(-0x2d0)"
  1487.   : "=r" (_res)
  1488.   : "r" (a6), "r" (d1), "r" (d2)
  1489.   : "a0","a1","d0","d1","d2");
  1490.   return _res;
  1491. }
  1492. static __inline LONG 
  1493. RemAssignList (BASE_PAR_DECL STRPTR name,BPTR lock)
  1494. {
  1495.   BASE_EXT_DECL
  1496.   register LONG  _res  __asm("d0");
  1497.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1498.   register STRPTR d1 __asm("d1") = name;
  1499.   register BPTR d2 __asm("d2") = lock;
  1500.   __asm __volatile ("jsr a6@(-0x27c)"
  1501.   : "=r" (_res)
  1502.   : "r" (a6), "r" (d1), "r" (d2)
  1503.   : "a0","a1","d0","d1","d2");
  1504.   return _res;
  1505. }
  1506. static __inline BOOL 
  1507. RemDosEntry (BASE_PAR_DECL struct DosList *dlist)
  1508. {
  1509.   BASE_EXT_DECL
  1510.   register BOOL  _res  __asm("d0");
  1511.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1512.   register struct DosList *d1 __asm("d1") = dlist;
  1513.   __asm __volatile ("jsr a6@(-0x2a0)"
  1514.   : "=r" (_res)
  1515.   : "r" (a6), "r" (d1)
  1516.   : "a0","a1","d0","d1");
  1517.   return _res;
  1518. }
  1519. static __inline LONG 
  1520. RemSegment (BASE_PAR_DECL struct Segment *seg)
  1521. {
  1522.   BASE_EXT_DECL
  1523.   register LONG  _res  __asm("d0");
  1524.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1525.   register struct Segment *d1 __asm("d1") = seg;
  1526.   __asm __volatile ("jsr a6@(-0x312)"
  1527.   : "=r" (_res)
  1528.   : "r" (a6), "r" (d1)
  1529.   : "a0","a1","d0","d1");
  1530.   return _res;
  1531. }
  1532. static __inline LONG 
  1533. Rename (BASE_PAR_DECL STRPTR oldName,STRPTR newName)
  1534. {
  1535.   BASE_EXT_DECL
  1536.   register LONG  _res  __asm("d0");
  1537.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1538.   register STRPTR d1 __asm("d1") = oldName;
  1539.   register STRPTR d2 __asm("d2") = newName;
  1540.   __asm __volatile ("jsr a6@(-0x4e)"
  1541.   : "=r" (_res)
  1542.   : "r" (a6), "r" (d1), "r" (d2)
  1543.   : "a0","a1","d0","d1","d2");
  1544.   return _res;
  1545. }
  1546. static __inline void 
  1547. ReplyPkt (BASE_PAR_DECL struct DosPacket *dp,long res1,long res2)
  1548. {
  1549.   BASE_EXT_DECL
  1550.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1551.   register struct DosPacket *d1 __asm("d1") = dp;
  1552.   register long d2 __asm("d2") = res1;
  1553.   register long d3 __asm("d3") = res2;
  1554.   __asm __volatile ("jsr a6@(-0x102)"
  1555.   : /* no output */
  1556.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1557.   : "a0","a1","d0","d1","d2","d3");
  1558. }
  1559. static __inline LONG 
  1560. RunCommand (BASE_PAR_DECL BPTR seg,long stack,STRPTR paramptr,long paramlen)
  1561. {
  1562.   BASE_EXT_DECL
  1563.   register LONG  _res  __asm("d0");
  1564.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1565.   register BPTR d1 __asm("d1") = seg;
  1566.   register long d2 __asm("d2") = stack;
  1567.   register STRPTR d3 __asm("d3") = paramptr;
  1568.   register long d4 __asm("d4") = paramlen;
  1569.   __asm __volatile ("jsr a6@(-0x1f8)"
  1570.   : "=r" (_res)
  1571.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1572.   : "a0","a1","d0","d1","d2","d3","d4");
  1573.   return _res;
  1574. }
  1575. static __inline BOOL 
  1576. SameDevice (BASE_PAR_DECL BPTR lock1,BPTR lock2)
  1577. {
  1578.   BASE_EXT_DECL
  1579.   register BOOL  _res  __asm("d0");
  1580.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1581.   register BPTR d1 __asm("d1") = lock1;
  1582.   register BPTR d2 __asm("d2") = lock2;
  1583.   __asm __volatile ("jsr a6@(-0x3d8)"
  1584.   : "=r" (_res)
  1585.   : "r" (a6), "r" (d1), "r" (d2)
  1586.   : "a0","a1","d0","d1","d2");
  1587.   return _res;
  1588. }
  1589. static __inline LONG 
  1590. SameLock (BASE_PAR_DECL BPTR lock1,BPTR lock2)
  1591. {
  1592.   BASE_EXT_DECL
  1593.   register LONG  _res  __asm("d0");
  1594.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1595.   register BPTR d1 __asm("d1") = lock1;
  1596.   register BPTR d2 __asm("d2") = lock2;
  1597.   __asm __volatile ("jsr a6@(-0x1a4)"
  1598.   : "=r" (_res)
  1599.   : "r" (a6), "r" (d1), "r" (d2)
  1600.   : "a0","a1","d0","d1","d2");
  1601.   return _res;
  1602. }
  1603. static __inline LONG 
  1604. Seek (BASE_PAR_DECL BPTR file,long position,long offset)
  1605. {
  1606.   BASE_EXT_DECL
  1607.   register LONG  _res  __asm("d0");
  1608.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1609.   register BPTR d1 __asm("d1") = file;
  1610.   register long d2 __asm("d2") = position;
  1611.   register long d3 __asm("d3") = offset;
  1612.   __asm __volatile ("jsr a6@(-0x42)"
  1613.   : "=r" (_res)
  1614.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1615.   : "a0","a1","d0","d1","d2","d3");
  1616.   return _res;
  1617. }
  1618. static __inline BPTR 
  1619. SelectInput (BASE_PAR_DECL BPTR fh)
  1620. {
  1621.   BASE_EXT_DECL
  1622.   register BPTR  _res  __asm("d0");
  1623.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1624.   register BPTR d1 __asm("d1") = fh;
  1625.   __asm __volatile ("jsr a6@(-0x126)"
  1626.   : "=r" (_res)
  1627.   : "r" (a6), "r" (d1)
  1628.   : "a0","a1","d0","d1");
  1629.   return _res;
  1630. }
  1631. static __inline BPTR 
  1632. SelectOutput (BASE_PAR_DECL BPTR fh)
  1633. {
  1634.   BASE_EXT_DECL
  1635.   register BPTR  _res  __asm("d0");
  1636.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1637.   register BPTR d1 __asm("d1") = fh;
  1638.   __asm __volatile ("jsr a6@(-0x12c)"
  1639.   : "=r" (_res)
  1640.   : "r" (a6), "r" (d1)
  1641.   : "a0","a1","d0","d1");
  1642.   return _res;
  1643. }
  1644. static __inline void 
  1645. SendPkt (BASE_PAR_DECL struct DosPacket *dp,struct MsgPort *port,struct MsgPort *replyport)
  1646. {
  1647.   BASE_EXT_DECL
  1648.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1649.   register struct DosPacket *d1 __asm("d1") = dp;
  1650.   register struct MsgPort *d2 __asm("d2") = port;
  1651.   register struct MsgPort *d3 __asm("d3") = replyport;
  1652.   __asm __volatile ("jsr a6@(-0xf6)"
  1653.   : /* no output */
  1654.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1655.   : "a0","a1","d0","d1","d2","d3");
  1656. }
  1657. static __inline BOOL 
  1658. SetArgStr (BASE_PAR_DECL STRPTR string)
  1659. {
  1660.   BASE_EXT_DECL
  1661.   register BOOL  _res  __asm("d0");
  1662.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1663.   register STRPTR d1 __asm("d1") = string;
  1664.   __asm __volatile ("jsr a6@(-0x21c)"
  1665.   : "=r" (_res)
  1666.   : "r" (a6), "r" (d1)
  1667.   : "a0","a1","d0","d1");
  1668.   return _res;
  1669. }
  1670. static __inline LONG 
  1671. SetComment (BASE_PAR_DECL STRPTR name,STRPTR comment)
  1672. {
  1673.   BASE_EXT_DECL
  1674.   register LONG  _res  __asm("d0");
  1675.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1676.   register STRPTR d1 __asm("d1") = name;
  1677.   register STRPTR d2 __asm("d2") = comment;
  1678.   __asm __volatile ("jsr a6@(-0xb4)"
  1679.   : "=r" (_res)
  1680.   : "r" (a6), "r" (d1), "r" (d2)
  1681.   : "a0","a1","d0","d1","d2");
  1682.   return _res;
  1683. }
  1684. static __inline struct MsgPort *
  1685. SetConsoleTask (BASE_PAR_DECL struct MsgPort *task)
  1686. {
  1687.   BASE_EXT_DECL
  1688.   register struct MsgPort * _res  __asm("d0");
  1689.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1690.   register struct MsgPort *d1 __asm("d1") = task;
  1691.   __asm __volatile ("jsr a6@(-0x204)"
  1692.   : "=r" (_res)
  1693.   : "r" (a6), "r" (d1)
  1694.   : "a0","a1","d0","d1");
  1695.   return _res;
  1696. }
  1697. static __inline BOOL 
  1698. SetCurrentDirName (BASE_PAR_DECL STRPTR name)
  1699. {
  1700.   BASE_EXT_DECL
  1701.   register BOOL  _res  __asm("d0");
  1702.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1703.   register STRPTR d1 __asm("d1") = name;
  1704.   __asm __volatile ("jsr a6@(-0x22e)"
  1705.   : "=r" (_res)
  1706.   : "r" (a6), "r" (d1)
  1707.   : "a0","a1","d0","d1");
  1708.   return _res;
  1709. }
  1710. static __inline LONG 
  1711. SetFileDate (BASE_PAR_DECL STRPTR name,struct DateStamp *date)
  1712. {
  1713.   BASE_EXT_DECL
  1714.   register LONG  _res  __asm("d0");
  1715.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1716.   register STRPTR d1 __asm("d1") = name;
  1717.   register struct DateStamp *d2 __asm("d2") = date;
  1718.   __asm __volatile ("jsr a6@(-0x18c)"
  1719.   : "=r" (_res)
  1720.   : "r" (a6), "r" (d1), "r" (d2)
  1721.   : "a0","a1","d0","d1","d2");
  1722.   return _res;
  1723. }
  1724. static __inline LONG 
  1725. SetFileSize (BASE_PAR_DECL BPTR fh,long pos,long mode)
  1726. {
  1727.   BASE_EXT_DECL
  1728.   register LONG  _res  __asm("d0");
  1729.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1730.   register BPTR d1 __asm("d1") = fh;
  1731.   register long d2 __asm("d2") = pos;
  1732.   register long d3 __asm("d3") = mode;
  1733.   __asm __volatile ("jsr a6@(-0x1c8)"
  1734.   : "=r" (_res)
  1735.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1736.   : "a0","a1","d0","d1","d2","d3");
  1737.   return _res;
  1738. }
  1739. static __inline struct MsgPort *
  1740. SetFileSysTask (BASE_PAR_DECL struct MsgPort *task)
  1741. {
  1742.   BASE_EXT_DECL
  1743.   register struct MsgPort * _res  __asm("d0");
  1744.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1745.   register struct MsgPort *d1 __asm("d1") = task;
  1746.   __asm __volatile ("jsr a6@(-0x210)"
  1747.   : "=r" (_res)
  1748.   : "r" (a6), "r" (d1)
  1749.   : "a0","a1","d0","d1");
  1750.   return _res;
  1751. }
  1752. static __inline LONG 
  1753. SetIoErr (BASE_PAR_DECL long result)
  1754. {
  1755.   BASE_EXT_DECL
  1756.   register LONG  _res  __asm("d0");
  1757.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1758.   register long d1 __asm("d1") = result;
  1759.   __asm __volatile ("jsr a6@(-0x1ce)"
  1760.   : "=r" (_res)
  1761.   : "r" (a6), "r" (d1)
  1762.   : "a0","a1","d0","d1");
  1763.   return _res;
  1764. }
  1765. static __inline LONG 
  1766. SetMode (BASE_PAR_DECL BPTR fh,long mode)
  1767. {
  1768.   BASE_EXT_DECL
  1769.   register LONG  _res  __asm("d0");
  1770.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1771.   register BPTR d1 __asm("d1") = fh;
  1772.   register long d2 __asm("d2") = mode;
  1773.   __asm __volatile ("jsr a6@(-0x1aa)"
  1774.   : "=r" (_res)
  1775.   : "r" (a6), "r" (d1), "r" (d2)
  1776.   : "a0","a1","d0","d1","d2");
  1777.   return _res;
  1778. }
  1779. static __inline BPTR 
  1780. SetProgramDir (BASE_PAR_DECL BPTR lock)
  1781. {
  1782.   BASE_EXT_DECL
  1783.   register BPTR  _res  __asm("d0");
  1784.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1785.   register BPTR d1 __asm("d1") = lock;
  1786.   __asm __volatile ("jsr a6@(-0x252)"
  1787.   : "=r" (_res)
  1788.   : "r" (a6), "r" (d1)
  1789.   : "a0","a1","d0","d1");
  1790.   return _res;
  1791. }
  1792. static __inline BOOL 
  1793. SetProgramName (BASE_PAR_DECL STRPTR name)
  1794. {
  1795.   BASE_EXT_DECL
  1796.   register BOOL  _res  __asm("d0");
  1797.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1798.   register STRPTR d1 __asm("d1") = name;
  1799.   __asm __volatile ("jsr a6@(-0x23a)"
  1800.   : "=r" (_res)
  1801.   : "r" (a6), "r" (d1)
  1802.   : "a0","a1","d0","d1");
  1803.   return _res;
  1804. }
  1805. static __inline BOOL 
  1806. SetPrompt (BASE_PAR_DECL STRPTR name)
  1807. {
  1808.   BASE_EXT_DECL
  1809.   register BOOL  _res  __asm("d0");
  1810.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1811.   register STRPTR d1 __asm("d1") = name;
  1812.   __asm __volatile ("jsr a6@(-0x246)"
  1813.   : "=r" (_res)
  1814.   : "r" (a6), "r" (d1)
  1815.   : "a0","a1","d0","d1");
  1816.   return _res;
  1817. }
  1818. static __inline LONG 
  1819. SetProtection (BASE_PAR_DECL STRPTR name,long protect)
  1820. {
  1821.   BASE_EXT_DECL
  1822.   register LONG  _res  __asm("d0");
  1823.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1824.   register STRPTR d1 __asm("d1") = name;
  1825.   register long d2 __asm("d2") = protect;
  1826.   __asm __volatile ("jsr a6@(-0xba)"
  1827.   : "=r" (_res)
  1828.   : "r" (a6), "r" (d1), "r" (d2)
  1829.   : "a0","a1","d0","d1","d2");
  1830.   return _res;
  1831. }
  1832. static __inline LONG 
  1833. SetVBuf (BASE_PAR_DECL BPTR fh,STRPTR buff,long type,long size)
  1834. {
  1835.   BASE_EXT_DECL
  1836.   register LONG  _res  __asm("d0");
  1837.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1838.   register BPTR d1 __asm("d1") = fh;
  1839.   register STRPTR d2 __asm("d2") = buff;
  1840.   register long d3 __asm("d3") = type;
  1841.   register long d4 __asm("d4") = size;
  1842.   __asm __volatile ("jsr a6@(-0x16e)"
  1843.   : "=r" (_res)
  1844.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1845.   : "a0","a1","d0","d1","d2","d3","d4");
  1846.   return _res;
  1847. }
  1848. static __inline BOOL 
  1849. SetVar (BASE_PAR_DECL STRPTR name,STRPTR buffer,long size,long flags)
  1850. {
  1851.   BASE_EXT_DECL
  1852.   register BOOL  _res  __asm("d0");
  1853.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1854.   register STRPTR d1 __asm("d1") = name;
  1855.   register STRPTR d2 __asm("d2") = buffer;
  1856.   register long d3 __asm("d3") = size;
  1857.   register long d4 __asm("d4") = flags;
  1858.   __asm __volatile ("jsr a6@(-0x384)"
  1859.   : "=r" (_res)
  1860.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1861.   : "a0","a1","d0","d1","d2","d3","d4");
  1862.   return _res;
  1863. }
  1864. static __inline WORD 
  1865. SplitName (BASE_PAR_DECL STRPTR name,unsigned long seperator,STRPTR buf,long oldpos,long size)
  1866. {
  1867.   BASE_EXT_DECL
  1868.   register WORD  _res  __asm("d0");
  1869.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1870.   register STRPTR d1 __asm("d1") = name;
  1871.   register unsigned long d2 __asm("d2") = seperator;
  1872.   register STRPTR d3 __asm("d3") = buf;
  1873.   register long d4 __asm("d4") = oldpos;
  1874.   register long d5 __asm("d5") = size;
  1875.   __asm __volatile ("jsr a6@(-0x19e)"
  1876.   : "=r" (_res)
  1877.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1878.   : "a0","a1","d0","d1","d2","d3","d4","d5");
  1879.   return _res;
  1880. }
  1881. static __inline BOOL 
  1882. StartNotify (BASE_PAR_DECL struct NotifyRequest *notify)
  1883. {
  1884.   BASE_EXT_DECL
  1885.   register BOOL  _res  __asm("d0");
  1886.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1887.   register struct NotifyRequest *d1 __asm("d1") = notify;
  1888.   __asm __volatile ("jsr a6@(-0x378)"
  1889.   : "=r" (_res)
  1890.   : "r" (a6), "r" (d1)
  1891.   : "a0","a1","d0","d1");
  1892.   return _res;
  1893. }
  1894. static __inline LONG 
  1895. StrToDate (BASE_PAR_DECL struct DateTime *datetime)
  1896. {
  1897.   BASE_EXT_DECL
  1898.   register LONG  _res  __asm("d0");
  1899.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1900.   register struct DateTime *d1 __asm("d1") = datetime;
  1901.   __asm __volatile ("jsr a6@(-0x2ee)"
  1902.   : "=r" (_res)
  1903.   : "r" (a6), "r" (d1)
  1904.   : "a0","a1","d0","d1");
  1905.   return _res;
  1906. }
  1907. static __inline LONG 
  1908. StrToLong (BASE_PAR_DECL STRPTR string,LONG *value)
  1909. {
  1910.   BASE_EXT_DECL
  1911.   register LONG  _res  __asm("d0");
  1912.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1913.   register STRPTR d1 __asm("d1") = string;
  1914.   register LONG *d2 __asm("d2") = value;
  1915.   __asm __volatile ("jsr a6@(-0x330)"
  1916.   : "=r" (_res)
  1917.   : "r" (a6), "r" (d1), "r" (d2)
  1918.   : "a0","a1","d0","d1","d2");
  1919.   return _res;
  1920. }
  1921. static __inline LONG 
  1922. SystemTagList (BASE_PAR_DECL STRPTR command,struct TagItem *tags)
  1923. {
  1924.   BASE_EXT_DECL
  1925.   register LONG  _res  __asm("d0");
  1926.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1927.   register STRPTR d1 __asm("d1") = command;
  1928.   register struct TagItem *d2 __asm("d2") = tags;
  1929.   __asm __volatile ("jsr a6@(-0x25e)"
  1930.   : "=r" (_res)
  1931.   : "r" (a6), "r" (d1), "r" (d2)
  1932.   : "a0","a1","d0","d1","d2");
  1933.   return _res;
  1934. }
  1935. static __inline LONG 
  1936. UnGetC (BASE_PAR_DECL BPTR fh,long character)
  1937. {
  1938.   BASE_EXT_DECL
  1939.   register LONG  _res  __asm("d0");
  1940.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1941.   register BPTR d1 __asm("d1") = fh;
  1942.   register long d2 __asm("d2") = character;
  1943.   __asm __volatile ("jsr a6@(-0x13e)"
  1944.   : "=r" (_res)
  1945.   : "r" (a6), "r" (d1), "r" (d2)
  1946.   : "a0","a1","d0","d1","d2");
  1947.   return _res;
  1948. }
  1949. static __inline void 
  1950. UnLoadSeg (BASE_PAR_DECL BPTR seglist)
  1951. {
  1952.   BASE_EXT_DECL
  1953.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1954.   register BPTR d1 __asm("d1") = seglist;
  1955.   __asm __volatile ("jsr a6@(-0x9c)"
  1956.   : /* no output */
  1957.   : "r" (a6), "r" (d1)
  1958.   : "a0","a1","d0","d1");
  1959. }
  1960. static __inline void 
  1961. UnLock (BASE_PAR_DECL BPTR lock)
  1962. {
  1963.   BASE_EXT_DECL
  1964.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1965.   register BPTR d1 __asm("d1") = lock;
  1966.   __asm __volatile ("jsr a6@(-0x5a)"
  1967.   : /* no output */
  1968.   : "r" (a6), "r" (d1)
  1969.   : "a0","a1","d0","d1");
  1970. }
  1971. static __inline void 
  1972. UnLockDosList (BASE_PAR_DECL unsigned long flags)
  1973. {
  1974.   BASE_EXT_DECL
  1975.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1976.   register unsigned long d1 __asm("d1") = flags;
  1977.   __asm __volatile ("jsr a6@(-0x294)"
  1978.   : /* no output */
  1979.   : "r" (a6), "r" (d1)
  1980.   : "a0","a1","d0","d1");
  1981. }
  1982. static __inline BOOL 
  1983. UnLockRecord (BASE_PAR_DECL BPTR fh,unsigned long offset,unsigned long length)
  1984. {
  1985.   BASE_EXT_DECL
  1986.   register BOOL  _res  __asm("d0");
  1987.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1988.   register BPTR d1 __asm("d1") = fh;
  1989.   register unsigned long d2 __asm("d2") = offset;
  1990.   register unsigned long d3 __asm("d3") = length;
  1991.   __asm __volatile ("jsr a6@(-0x11a)"
  1992.   : "=r" (_res)
  1993.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1994.   : "a0","a1","d0","d1","d2","d3");
  1995.   return _res;
  1996. }
  1997. static __inline BOOL 
  1998. UnLockRecords (BASE_PAR_DECL struct RecordLock *recArray)
  1999. {
  2000.   BASE_EXT_DECL
  2001.   register BOOL  _res  __asm("d0");
  2002.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2003.   register struct RecordLock *d1 __asm("d1") = recArray;
  2004.   __asm __volatile ("jsr a6@(-0x120)"
  2005.   : "=r" (_res)
  2006.   : "r" (a6), "r" (d1)
  2007.   : "a0","a1","d0","d1");
  2008.   return _res;
  2009. }
  2010. static __inline LONG 
  2011. VFPrintf (BASE_PAR_DECL BPTR fh,STRPTR format,LONG *argarray)
  2012. {
  2013.   BASE_EXT_DECL
  2014.   register LONG  _res  __asm("d0");
  2015.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2016.   register BPTR d1 __asm("d1") = fh;
  2017.   register STRPTR d2 __asm("d2") = format;
  2018.   register LONG *d3 __asm("d3") = argarray;
  2019.   __asm __volatile ("jsr a6@(-0x162)"
  2020.   : "=r" (_res)
  2021.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2022.   : "a0","a1","d0","d1","d2","d3");
  2023.   return _res;
  2024. }
  2025. static __inline void 
  2026. VFWritef (BASE_PAR_DECL BPTR fh,STRPTR format,LONG *argarray)
  2027. {
  2028.   BASE_EXT_DECL
  2029.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2030.   register BPTR d1 __asm("d1") = fh;
  2031.   register STRPTR d2 __asm("d2") = format;
  2032.   register LONG *d3 __asm("d3") = argarray;
  2033.   __asm __volatile ("jsr a6@(-0x15c)"
  2034.   : /* no output */
  2035.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2036.   : "a0","a1","d0","d1","d2","d3");
  2037. }
  2038. static __inline LONG 
  2039. VPrintf (BASE_PAR_DECL STRPTR format,LONG *argarray)
  2040. {
  2041.   BASE_EXT_DECL
  2042.   register LONG  _res  __asm("d0");
  2043.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2044.   register STRPTR d1 __asm("d1") = format;
  2045.   register LONG *d2 __asm("d2") = argarray;
  2046.   __asm __volatile ("jsr a6@(-0x3ba)"
  2047.   : "=r" (_res)
  2048.   : "r" (a6), "r" (d1), "r" (d2)
  2049.   : "a0","a1","d0","d1","d2");
  2050.   return _res;
  2051. }
  2052. static __inline LONG 
  2053. WaitForChar (BASE_PAR_DECL BPTR file,long timeout)
  2054. {
  2055.   BASE_EXT_DECL
  2056.   register LONG  _res  __asm("d0");
  2057.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2058.   register BPTR d1 __asm("d1") = file;
  2059.   register long d2 __asm("d2") = timeout;
  2060.   __asm __volatile ("jsr a6@(-0xcc)"
  2061.   : "=r" (_res)
  2062.   : "r" (a6), "r" (d1), "r" (d2)
  2063.   : "a0","a1","d0","d1","d2");
  2064.   return _res;
  2065. }
  2066. static __inline struct DosPacket *
  2067. WaitPkt (BASE_PAR_DECL0)
  2068. {
  2069.   BASE_EXT_DECL
  2070.   register struct DosPacket * _res  __asm("d0");
  2071.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2072.   __asm __volatile ("jsr a6@(-0xfc)"
  2073.   : "=r" (_res)
  2074.   : "r" (a6)
  2075.   : "a0","a1","d0","d1");
  2076.   return _res;
  2077. }
  2078. static __inline LONG 
  2079. Write (BASE_PAR_DECL BPTR file,APTR buffer,long length)
  2080. {
  2081.   BASE_EXT_DECL
  2082.   register LONG  _res  __asm("d0");
  2083.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2084.   register BPTR d1 __asm("d1") = file;
  2085.   register APTR d2 __asm("d2") = buffer;
  2086.   register long d3 __asm("d3") = length;
  2087.   __asm __volatile ("jsr a6@(-0x30)"
  2088.   : "=r" (_res)
  2089.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2090.   : "a0","a1","d0","d1","d2","d3");
  2091.   return _res;
  2092. }
  2093. static __inline LONG 
  2094. WriteChars (BASE_PAR_DECL STRPTR buf,unsigned long buflen)
  2095. {
  2096.   BASE_EXT_DECL
  2097.   register LONG  _res  __asm("d0");
  2098.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2099.   register STRPTR d1 __asm("d1") = buf;
  2100.   register unsigned long d2 __asm("d2") = buflen;
  2101.   __asm __volatile ("jsr a6@(-0x3ae)"
  2102.   : "=r" (_res)
  2103.   : "r" (a6), "r" (d1), "r" (d2)
  2104.   : "a0","a1","d0","d1","d2");
  2105.   return _res;
  2106. }
  2107. #undef BASE_EXT_DECL
  2108. #undef BASE_PAR_DECL
  2109. #undef BASE_PAR_DECL0
  2110. #undef BASE_NAME
  2111.  
  2112. __END_DECLS
  2113.  
  2114. #endif /* _INLINE_DOS_H */
  2115.